class Precio < ActiveRecord::Base
	belongs_to :servicio
	belongs_to :moneda
	
	def proveedor
		servicio.proveedor	
	end
	
	def en(a_moneda, fecha)
		rpta = Precio.new(
			:nro_personas_inicio=>nro_personas_inicio,
			:nro_personas_fin=>nro_personas_fin,
			:fecha_inicio=>fecha_inicio,
			:fecha_fin=>fecha_fin,
			:servicio_id=>servicio_id,
			:moneda=>a_moneda,
			:publicado => publicado,
			:nacional => nacional, 
			:extranjero => extranjero
		)					
		unless moneda == a_moneda			
			rpta.publicado = (a_moneda.id == 1 ? TipoCambio.vender(publicado, a_moneda, fecha) : TipoCambio.comprar(publicado, a_moneda, fecha))
			rpta.nacional = (a_moneda.id == 1 ? TipoCambio.vender(nacional, a_moneda, fecha) : TipoCambio.comprar(nacional, a_moneda, fecha))
			rpta.extranjero = (a_moneda.id == 1 ? TipoCambio.vender(extranjero, a_moneda, fecha) : TipoCambio.comprar(extranjero, a_moneda, fecha))			
		end		
		rpta
	end	
  
  def self.max_nro_personas_fin
		precio = find(:first, :order => 'nro_personas_fin desc')
	    (precio ? (precio.nro_personas_fin < precio.servicio.capacidad ? precio.nro_personas_fin+ 1 : precio.nro_personas_fin) : 1)
	end
	
	def self.moneda_utilizada
		precio = find(:first, :order => 'nro_personas_fin desc')
		(precio ? precio.moneda_id : "")
	end
	
	def self.fecha_inicio_anterior
		precio = find(:first, :order => 'nro_personas_fin desc')
		(precio ? precio.fecha_inicio : "")
	end
	
	def self.fecha_fin_anterior
		precio = find(:first, :order => 'nro_personas_fin desc')
		(precio ? precio.fecha_fin : "")
	end
end
